這30天內我們會做出一個簡單的記帳Web App,這個App分成:
整個Web App的邏輯和UI操作都在這裡完成,處理完資料後再向後端API溝通做資料存取。
Django在這個Web App中當做單純的API提供者,換句話說我們不會使用到Django的template語法去產生HTML。
以這樣的架構可以讓這個App容易擴展。
比如說之後想要再mobile上也實作客戶端程式,就可以利用同一個後端API來做資料存取,邏輯就寫在客戶端程式上就好了。如此一來client-server的架構就非常清楚。
接下來簡介一下會使用到的兩個Framework:
AngularJS - https://angularjs.org/
AngularJS是個由Google主力開發的Javascript前端框架,最近很紅,但也變動很快。聽說接下來跳大版號會改不少內容,但它還是現在最潮的JS Framework之一。
Django - https://www.djangoproject.com/
Django是個擁有廣大社群的Python Web MVC框架,他可以做非常多的事,並且有自己一套template engine和易於使用的ORM。Django的社群有許多的App,你可以把它想像成許多的小模組。使用者可以利用各式各樣的App和自己寫的App組成一個大型的Web App。
但這三十天內我們會用一套建構於Django上的Restful API Framework叫做 Django RestFramework。
Django RestFramework - http://www.django-rest-framework.org/
這套toolkit有非常完整的功能,可以快速簡單的建立Restful API Provider。
接下來我們就會從後端開始,先建立API provider後再往前端邁進。
要記住使用Framework的缺點就是:它們總是把所有東西像變魔術一樣都抽象起來,所以非常適合打造prototype,但如果要真正產品化就必須要做仔細的優化和調校。所以就讓我們把這Web App當做個prototype來看看這前端後端到底是如何整合的吧! Go!